// vite.config.js
import path from 'path';
import { viteMockServe } from 'vite-plugin-mock'
import vue from "@vitejs/plugin-vue";


export default ({command,mode}) => {
    const isProduction = mode === 'production';
    return {
        plugins: [
            vue(),
            viteMockServe({
                enable: command === 'serve', // 是否使用mock接口；等于serve是开发阶段使用mock接口
            }),
        ],
        resolve: {
            alias: {
                '@': path.resolve(__dirname, 'src'),
            },
        },
        server: {
            port: 3002, //项目端口
            host: '0.0.0.0',
            open: true, //启动服务，自动打开浏览器
            proxy: { // 代理配置
                //比如访问 http://localhost:3002/prod-api/3 其实就是访问 https://jsonplaceholder.typicode.com/todos/3
                "/prod-api": { // 代理接口前缀为/prod-api的请求
                    "target": isProduction ? 'https://jsonplaceholder.typicode.com/todos' : 'https://baidu.com', // 对应的代理地址
                    "secure": false, // 接受运行在https上，默认不接受
                    "changeOrigin": true, // 如果设置为true,那么本地会虚拟一个服务器接收你的请求并代你发送该请求，这样就不会有跨域问题（只适合开发环境）
                    rewrite: (p) => p.replace(/^\/prod-api/, ""), //重写路径 比如'/prod-api/aaa/ccc'重写为'/aaa/ccc'
                    bypass(req, res, options) {
                        const proxyURL = options.target + options.rewrite(req.url)
                        console.log('proxyURL', proxyURL)
                        // res.setHeader('x-req-proxyURL', proxyURL) // 设置响应头可以看到
                    },
                },
            },
        },
    }
};